Computing devices, such as mobile computing devices, often display different types of content (e.g., both application graphical content and system graphical content) and respond to different types of user input (e.g., keys, buttons, and tough gestures) at the same time, each of which may need to update the display. These competing demands on system resources can be problematic, particularly on mobile devices with limited processing resources, such as limited graphical processing unit (GPU) resources.
Providing a rich user experience involves balancing user interface rendering demands with perceived responsiveness. Increasingly, intensive graphical user interface applications are utilizing a graphics processing unit (GPU) for rendering, and are mixing content rendered from multiple drawing systems when compositing frames for display. Performance problems may occur when the total GPU cost for processing the content across multiple sources exceeds the allowable time required to maintain a desired framerate.
In some situations, hardware based rendering is used to increase performance for mobile devices. However, without the ability to manage GPU resources, rendering demands from some types of applications can occupy a significant portion of GPU time to the exclusion of other types of applications, and result in decreased performance and decreased responsiveness.
Therefore, there exists ample opportunity for improvement in technologies related to GPU-based rendering.